13 research outputs found
Reducing the Barrier to Entry of Complex Robotic Software: a MoveIt! Case Study
Developing robot agnostic software frameworks involves synthesizing the
disparate fields of robotic theory and software engineering while
simultaneously accounting for a large variability in hardware designs and
control paradigms. As the capabilities of robotic software frameworks increase,
the setup difficulty and learning curve for new users also increase. If the
entry barriers for configuring and using the software on robots is too high,
even the most powerful of frameworks are useless. A growing need exists in
robotic software engineering to aid users in getting started with, and
customizing, the software framework as necessary for particular robotic
applications. In this paper a case study is presented for the best practices
found for lowering the barrier of entry in the MoveIt! framework, an
open-source tool for mobile manipulation in ROS, that allows users to 1)
quickly get basic motion planning functionality with minimal initial setup, 2)
automate its configuration and optimization, and 3) easily customize its
components. A graphical interface that assists the user in configuring MoveIt!
is the cornerstone of our approach, coupled with the use of an existing
standardized robot model for input, automatically generated robot-specific
configuration files, and a plugin-based architecture for extensibility. These
best practices are summarized into a set of barrier to entry design principles
applicable to other robotic software. The approaches for lowering the entry
barrier are evaluated by usage statistics, a user survey, and compared against
our design objectives for their effectiveness to users
An Extensible Benchmarking Infrastructure for Motion Planning Algorithms
Sampling-based planning algorithms are the most common probabilistically
complete algorithms and are widely used on many robot platforms. Within this
class of algorithms, many variants have been proposed over the last 20 years,
yet there is still no characterization of which algorithms are well-suited for
which classes of problems. This has motivated us to develop a benchmarking
infrastructure for motion planning algorithms. It consists of three main
components. First, we have created an extensive benchmarking software framework
that is included with the Open Motion Planning Library (OMPL), a C++ library
that contains implementations of many sampling-based algorithms. Second, we
have defined extensible formats for storing benchmark results. The formats are
fairly straightforward so that other planning libraries could easily produce
compatible output. Finally, we have created an interactive, versatile
visualization tool for compact presentation of collected benchmark data. The
tool and underlying database facilitate the analysis of performance across
benchmark problems and planners.Comment: Submitted to IEEE Robotics & Automation Magazine (Special Issue on
Replicable and Measurable Robotics Research), 201
Task and motion planning for mobile manipulators
This thesis introduces new concepts and algorithms that can be used to solve the simultaneous task and motion planning (STAMP) problem. Given a set of actions a robot could perform, the STAMP problem asks for a sequence of actions that takes the robot to its goal and for motion plans that correspond to the actions in that sequence. This thesis shows how to solve the STAMP problem more efficiently and obtain more robust solutions, when compared to previous work. A solution to the STAMP problem is a prerequisite for most operations complex robots such as mobile manipulators are asked to perform. Solving the STAMP problem efficiently thus expands the range of capabilities for mobile manipulators, and the increased robustness of computed solutions can improve safety. A basic sub-problem of the STAMP problem is motion planning. This thesis generalizes KPIECE, a sampling-based motion planning algorithm designed specifically for planning in high-dimensional spaces. KPIECE offers computational advantages by employing projections from the searched space to lower-dimensional Euclidean spaces for estimating exploration coverage. This thesis further develops the original KPIECE algorithm by introducing a means to automatically generate projections to lower-dimensional Euclidean spaces. KPIECE and other state-of-the-art algorithms are implemented as part the Open Motion Planning Library (OMPL), and the practical applicability of KPIECE and OMPL is demonstrated on the PR2 hardware platform. To solve the STAMP problem, this thesis introduces the concept of a task motion multigraph (TMM), a data structure that can express the ability of mobile manipulators to perform specific tasks using different hardware components. The choice of hardware components determines the state space for motion planning. An algorithm that prioritizes the state spaces for motion planning using TMMs is presented and evaluated. Experimental results show that planning times are reduced by a factor of up to six and solution paths are shortened by a factor of up to four, when considering the available planning options. Finally, an algorithm that considers uncertainty at the task planning level based on generating Markov Decision Process (MDP) problems from TMMs is introduced
Experience-Based Planning with Sparse Roadmap Spanners
We present an experienced-based planning framework called Thunder that learns
to reduce computation time required to solve high-dimensional planning problems
in varying environments. The approach is especially suited for large
configuration spaces that include many invariant constraints, such as those
found with whole body humanoid motion planning. Experiences are generated using
probabilistic sampling and stored in a sparse roadmap spanner (SPARS), which
provides asymptotically near-optimal coverage of the configuration space,
making storing, retrieving, and repairing past experiences very efficient with
respect to memory and time. The Thunder framework improves upon past
experience-based planners by storing experiences in a graph rather than in
individual paths, eliminating redundant information, providing more
opportunities for path reuse, and providing a theoretical limit to the size of
the experience graph. These properties also lead to improved handling of
dynamically changing environments, reasoning about optimal paths, and reducing
query resolution time. The approach is demonstrated on a 30 degrees of freedom
humanoid robot and compared with the Lightning framework, an experience-based
planner that uses individual paths to store past experiences. In environments
with variable obstacles and stability constraints, experiments show that
Thunder is on average an order of magnitude faster than Lightning and planning
from scratch. Thunder also uses 98.8% less memory to store its experiences
after 10,000 trials when compared to Lightning. Our framework is implemented
and freely available in the Open Motion Planning Library.Comment: Submitted to ICRA 201
Kinodynamic motion planning for high-dimensional physical systems
This thesis presents a kinodynamic motion planner, Kinodynamic Motion Planning by Interior-Exterior Cell Exploration ( KPIECE ), specifically designed for systems with complex dynamics, where physics-based simulation is necessary. A multiple-level grid-based discretization is used to estimate the coverage of the state space. The coverage estimates help the planner detect the less explored areas of the state space. The planner also keeps track of the boundary of the explored region of the state space and focuses exploration on the less covered parts of this boundary. Extensive experiments show KPIECE provides computational gain over state-of-the-art methods and allows solving some harder, previously unsolvable problems. A shared memory parallel implementation is presented as well. This implementation provides better speedup than an embarrassingly parallel implementation by taking advantage of the evolving multi-core technology
Accounting for Uncertainty in Simultaneous Task and Motion Planning Using Task Motion Multigraphs
This paper describes an algorithm that considers uncertainty while solving the simultaneous task and motion planning (STAMP) problem. Information about uncertainty is transferred to the task planning level from the motion planning level using the concept of a task motion multigraph (TMM). TMMs were introduced in previous work to improve the efficiency of solving the STAMP problem for mobile manipulators. In this work, Markov Decision Processes are used in conjunction with TMMs to select sequences of actions that solve the STAMP problem such that the resulting solutions have higher probability of feasibility. Experimental evaluation indicates significantly improved probability of feasibility for solutions to the STAMP problem, compared to algorithms that ignore uncertainty information when selecting possible sequences of actions. At the same time, the efficiency due to TMMs is largely maintained